// VersionControllerManager.h: interface for the VersionControllerManager class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_VERSIONCONTROLLERMANAGER_H__FAD9D4F1_E70D_4DD6_A436_F99101E0277C__INCLUDED_)
#define AFX_VERSIONCONTROLLERMANAGER_H__FAD9D4F1_E70D_4DD6_A436_F99101E0277C__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "ManagerTemplate.h"
#include "VersionController.h"
#include "Singleton.h"

namespace VersionControl
{
	class DllExport VersionControllerManager : public ManagerTemplate<INT, VersionController> 
	{
		DECLARE_SINGLETON(VersionControllerManager);
	public:
		VersionControllerManager();
		virtual ~VersionControllerManager();
		
	public:
		VersionController* GetVersionController(INT nVersion);

	private:
		VersionController* NewVersionController(INT nVersion);
	};
}
#endif // !defined(AFX_VERSIONCONTROLLERMANAGER_H__FAD9D4F1_E70D_4DD6_A436_F99101E0277C__INCLUDED_)
